Trace (linear algebra)

In linear algebra, the trace of an n-by-n square matrix A is defined to be the sum of the elements on the main diagonal (the diagonal from the upper left to the lower right) of A, i.e.,

\mathrm{tr}(A) = a_{11} %2B a_{22} %2B \dots %2B a_{nn}=\sum_{i=1}^{n} a_{i i} \,

where aii represents the entry on the ith row and ith column of A. The trace of a matrix is the sum of the (complex) eigenvalues, and it is an invariant with respect to a change of basis. This characterization can be used to define the trace for a linear operator in general. Note that the trace is only defined for a square matrix (i.e. n×n).

Geometrically, the trace can be interpreted as the infinitesimal change in volume (as the derivative of the determinant), which is made precise in Jacobi's formula.

The term trace is a calque from the German Spur (cognate with the English spoor), which, as a function in mathematics, is often abbreviated to "Sp".

Contents

Example

Let T be a linear operator represented by the matrix

\begin{bmatrix}-2&2&-3\\
-1& 1& 3\\
2 &0 &-1\end{bmatrix}.

Then tr(T) = −2 + 1 − 1 = −2.

The trace of the identity matrix is the dimension of the space; this leads to generalizations of dimension using trace. The trace of a projection (i.e., P2 = P) is the rank of the projection. The trace of a nilpotent matrix is zero. The product of a symmetric matrix and a skew-symmetric matrix has zero trace.

More generally, if f(x) = (xλ1)d1···(xλk)dk is the characteristic polynomial of a matrix A, then

\mathrm{tr}(A) = d_1 \lambda_1 %2B \cdots %2B d_k \lambda_k.\!

If A and B are positive semi-definite matrices of the same order then

 0 \leq \mathrm{tr}(AB)^2 \leq \mathrm{tr}(A^2) \mathrm{tr}(B^2).\,[1]

Properties

The trace is a linear map. That is,

\mathrm{tr}(A %2B B) = \mathrm{tr}(A) %2B \mathrm{tr}(B),\,
\mathrm{tr}(cA) = c\cdot \mathrm{tr}(A).

for all square matrices A and B, and all scalars c.

If A is an m×n matrix and B is an n×m matrix, then

\mathrm{tr}(AB) = \mathrm{tr}(BA) \,.[2]

Conversely, the above properties characterize the trace completely in the sense as follows. Let f be a linear functional on the space of square matrices satisfying f(xy) = f(yx). Then f and tr are proportional.[3]

The trace is similarity-invariant, which means that A and P−1AP have the same trace. This is because

\mathrm{tr}(P^{-1}AP) = \mathrm{tr}(P^{-1}(AP)) = \mathrm{tr}((AP) P^{-1}) = \mathrm{tr}(A (PP^{-1}))= \mathrm{tr}(A). \,

A matrix and its transpose have the same trace:

 \mathrm{tr}(A) = \mathrm{tr}(A^T). \,

Let A be a symmetric matrix, and B an anti-symmetric matrix. Then

\mathrm{tr}(AB) = 0. \,

When both A and B are n by n, the trace of the (ring-theoretic) commutator of A and B vanishes: tr([AB]) = 0; one can state this as "the trace is a map of Lie algebras gl_n \to k from operators to scalars", as the commutator of scalars is trivial (it is an abelian Lie algebra). In particular, using similarity invariance, it follows that the identity matrix is never similar to the commutator of any pair of matrices.

Conversely, any square matrix with zero trace is the commutator of some pair of matrices.[4] Moreover, any square matrix with zero trace is unitarily equivalent to a square matrix with diagonal consisting of all zeros.

The trace of any power of a nilpotent matrix is zero. When the characteristic of the base field is zero, the converse also holds: if \mathrm{tr}(x^k) = 0 for all k, then x is nilpotent.

Note that order does matter in taking traces: in general,

\mathrm{tr}(ABC) \neq \mathrm{tr}(ACB). \,

In other words, we can only interchange the two halves of the expression, albeit repeatedly. This means that the trace is invariant under cyclic permutations, i.e.,

\mathrm{tr}(ABCD) = \mathrm{tr}(BCDA) = \mathrm{tr}(CDAB) = \mathrm{tr}(DABC). \,

However, if products of three symmetric matrices are considered, any permutation is allowed. (Proof: tr(ABC) = tr(AT BT CT) = tr((CBA)T) = tr(CBA).) For more than three factors this is not true. This is known as the cyclic property.

Unlike the determinant, the trace of the product is not the product of traces. What is true is that the trace of the tensor product of two matrices is the product of their traces:

\mathrm{tr}(X \otimes Y) = \mathrm{tr}(X)\mathrm{tr}(Y). \,

The trace of a product can be rewritten as the sum of all elements from a Hadamard product (entry-wise product):

\mathrm{tr}(XY) = \sum_{i,j}(X \circ Y^T)_{i,j} = \sum_{i,j} X_{i,j} \cdot Y_{j,i}.

This should be more computationally efficient, since the matrix product of an n \times m matrix with an m \times n one (first and last dimensions must match to give a square matrix for the trace) has mn^2 multiplications and n%2B(m-1)n^2 additions, whereas the computation of the Hadamard version (entry-wise product) requires only nm multiplications followed by nm additions.

P_X = X\left(X^T X\right)^{-1}X^T,
then
\text{tr}\left(P_X \right)=\text{rank}\left(X\right). \,

Exponential trace

Expressions like exp(tr(A)), where A is a square matrix, occur so often in some fields (e.g. multivariate statistical theory), that a shorthand notation has become common:

\mathrm{etr}(A) = \exp( \mathrm{tr}(A) ).\

This is sometimes referred to as the exponential trace function.

Trace of a linear operator

Given some linear map f : VV (V is a finite-dimensional vector space) generally, we can define the trace of this map by considering the trace of matrix representation of f, that is, choosing a basis for V and describing f as a matrix relative to this basis, and taking the trace of this square matrix. The result will not depend on the basis chosen, since different bases will give rise to similar matrices, allowing for the possibility of a basis-independent definition for the trace of a linear map.

Such a definition can be given using the canonical isomorphism between the space End(V) of linear maps on V and VV*, where V* is the dual space of V. Let v be in V and let f be in V*. Then the trace of the decomposable element vf is defined to be f(v); the trace of a general element is defined by linearity. Using an explicit basis for V and the corresponding dual basis for V*, one can show that this gives the same definition of the trace as given above.

Eigenvalue relationships

If A is a square n-by-n matrix with real or complex entries and if λ1,...,λn are the eigenvalues of A (listed according to their algebraic multiplicities), then

\operatorname{tr}(A) = \sum_i \lambda_i.

This follows from the fact that A is always similar to its Jordan form, an upper triangular matrix having λ1,...,λn on the main diagonal. In contrast, the determinant of A is the product of its eigenvalues; i.e.,

\operatorname{det}(A) = \prod \lambda_i.

More generally,

\operatorname{tr}(A^k) = \sum \lambda_i^k.

Derivatives

The trace is the derivative of the determinant: it is the Lie algebra analog of the (Lie group) map of the determinant. This is made precise in Jacobi's formula for the derivative of the determinant (see under determinant). As a particular case, \operatorname{tr}=\operatorname{det}'_I: the trace is the derivative of the determinant at the identity. From this (or from the connection between the trace and the eigenvalues), one can derive a connection between the trace function, the exponential map between a Lie algebra and its Lie group (or concretely, the matrix exponential function), and the determinant:

\det(\exp(A)) = \exp(\mathrm{tr}(A)). \,

For example, consider the one-parameter family of linear transformations given by rotation through angle θ,


R_{\theta} = \left(\begin{array}{cc}\cos \theta & -\sin \theta\\\sin \theta&\cos \theta\end{array}\right).

These transformations all have determinant 1, so they preserve area. The derivative of this family at θ = 0 is the antisymmetric matrix


A = \left(\begin{array}{cc}0 & -1\\1&0\end{array}\right)

which clearly has trace zero, indicating that this matrix represents an infinitesimal transformation which preserves area.

A related characterization of the trace applies to linear vector fields. Given a matrix A, define a vector field F on Rn by F(x) = Ax. The components of this vector field are linear functions (given by the rows of A). The divergence div F is a constant function, whose value is equal to tr(A). By the divergence theorem, one can interpret this in terms of flows: if F(x) represents the velocity of a fluid at the location x, and U is a region in Rn, the net flow of the fluid out of U is given by tr(A)· vol(U), where vol(U) is the volume of U.

The trace is a linear operator, hence it commutes with the derivative:

 {\rm d} \,\, {\rm tr} ( {\mathbf X} ) = {\rm tr}({\rm d} {\mathbf X}).

Applications

The trace is used to define characters of group representations. Two representations  A,B�: G \rightarrow GL(V) of a group G are equivalent (up to change of basis on V) if  \operatorname{tr} A(g) = \operatorname{tr} B(g) for all g\in G.

The trace also plays a central role in the distribution of quadratic forms.

Lie algebra

The trace is a map of Lie algebras \operatorname{tr}\colon gl_n \to k from the Lie algebra gln of operators on a n-dimensional space (n \times n matrices) to the Lie algebra k of scalars; as k is abelian (the Lie bracket vanishes), the fact that this is a map of Lie algebras is exactly the statement that the trace of a bracket vanishes: \operatorname{tr}([A,B])=0.

The kernel of this map, a matrix whose trace is zero, is often said to be traceless or tracefree, and these matrices form the simple Lie algebra sln, which is the Lie algebra of the special linear group of matrices with determinant 1. The special linear group consists of the matrices which do not change volume, while the special linear algebra is the matrices which infinitesimally do not change volume.

In fact, there is a internal direct sum decomposition gl_n = sl_n \oplus k of operators/matrices into traceless operators/matrices and scalars operators/matrices. The projection map onto scalar operators can be expressed in terms of the trace, concretely as:

A \mapsto \textstyle{\frac{1}{n}}\operatorname{tr}(A)\cdot I.

Formally, one can compose the trace (the counit map) with the unit map k \to gl_n of "inclusion of scalars" to obtain a map gl_n \to gl_n mapping onto scalars, and multiplying by n. Dividing by n makes this a projection, yielding the formula above.

In terms of short exact sequences, one has

0 \to sl_n \to gl_n \overset{\operatorname{tr}}{\to} k \to 0

which is analogous to

1 \to SL_n \to GL_n \overset{\operatorname{det}}{\to} K^* \to 1

for Lie groups. However, the trace splits naturally (via \textstyle{\frac{1}{n}} times scalars) so gl_n = sl_n \oplus k, but the splitting of the determinant would be as the nth root times scalars, and this does not in general define a function, so the determinant does not split and the general linear group does not decompose: GL_n \neq SL_n \times K^*.

Bilinear forms

The bilinear form

B(x, y) = \operatorname{tr}(\operatorname{ad}(x)\operatorname{ad}(y))\text{ where }\operatorname{ad}(x)y = [x, y] = xy - yx

is called the Killing form, which is used for the classification of Lie algebras.

The trace defines a bilinear form:

(x, y) \mapsto \operatorname{tr}(xy)

(x, y square matrices).

The form is symmetric, non-degenerate[5] and associative in the sense that:

\operatorname{tr}(x[y, z]) = \operatorname{tr}([x, y]z). \,

In a simple Lie algebra (e.g., \mathfrak {sl}_n), every such bilinear form is proportional to each other; in particular, to the Killing form.

Two matrices x and y are said to be trace orthogonal if

\operatorname{tr}(xy) = 0. \,

Inner product

For an m-by-n matrix A with complex (or real) entries and * being the conjugate transpose, we have

 \operatorname{tr}(A^*A) \ge 0

with equality if and only if A = 0. The assignment

\langle A, B\rangle = \operatorname{tr}(B^*A)

yields an inner product on the space of all complex (or real) m-by-n matrices.

The norm induced by the above inner product is called the Frobenius norm. Indeed it is simply the Euclidean norm if the matrix is considered as a vector of length mn.

Generalization

The concept of trace of a matrix is generalised to the trace class of compact operators on Hilbert spaces, and the analog of the Frobenius norm is called the Hilbert–Schmidt norm.

The partial trace is another generalization of the trace that is operator-valued.

If A is a general associative algebra over a field k, then a trace on A is often defined to be any map tr: Ak which vanishes on commutators: tr([ab]) = 0 for all ab in A. Such a trace is not uniquely defined; it can always at least be modified by multiplication by a nonzero scalar.

A supertrace is the generalization of a trace to the setting of superalgebras.

The operation of tensor contraction generalizes the trace to arbitrary tensors.

Coordinate-free definition

We can identify the space of linear operators on a vector space V with the space V \otimes V^*, where v \otimes h = (w \mapsto h(w)v). We also have a canonical bilinear function t\colon V \times V^* \to F that consists of applying an element w^* of V^* to an element v of V to get an element of F, in symbols t(v,w^*)�:= w^*(v) \in F. This induces a linear function on the tensor product (by its universal property) t\colon V \otimes V^* \to F, which, as it turns out, when that tensor product is viewed as the space of operators, is equal to the trace.

This also clarifies why \operatorname{tr}(AB)=\operatorname{tr}(BA) and why \operatorname{tr}(AB)\neq\operatorname{tr}(A)\operatorname{tr}(B), as composition of operators (multiplication of matrices) and trace can be interpreted as the same pairing. Viewing \operatorname{End}(V) \cong V \otimes V^*, one may interpret the composition map \operatorname{End}(V) \times \operatorname{End}(V) \to \operatorname{End}(V) as

(V \otimes V^*) \times (V \otimes V^*) \to (V \otimes V^*)

coming from the pairing V^* \times V \to F on the middle terms. Taking the trace of the product then comes from pairing on the outer terms, while taking the product in the opposite order and then taking the trace just switches which pairing is applied first. On the other hand, taking the trace of A and the trace of B corresponds to applying the pairing on the left terms and on the right terms (rather than on inner and outer), and is thus different.

In coordinates, this corresponds to indexes: multiplication is given by \textstyle{(AB)_{ik} = \sum_j a_{ij}b_{jk}}, so \textstyle{\operatorname{tr}(AB) = \sum_{ij} a_{ij}b_{ji}} and \textstyle{\operatorname{tr}(BA) = \sum_{ij} b_{ij}a_{ji}} which is the same, while \textstyle{\operatorname{tr}(A)\cdot \operatorname{tr}(B) = \sum_i a_{ii} \cdot \sum_j b_{jj}}, which is different.

For V finite-dimensional, with basis \{ e_i \} and dual basis \{ e^i \}, then e_i \otimes e^j is the ij entry of the matrix of the operator with respect to that basis. Any operator A is therefore a sum of the form A = a_{ij} e_i \otimes e^j. With t defined as above, t(A) = a_{ij} t(e_i \otimes e^j). The latter, however, is just the Kronecker delta, being 1 if i=j and 0 otherwise. This shows that t(A) is simply the sum of the coefficients along the diagonal. This method, however, makes coordinate invariance an immediate consequence of the definition.

Dual

Further, one may dualize this map, obtaining a map F^* = F \to V \otimes V^* \cong \operatorname{End}(V). This map is precisely the inclusion of scalars, sending 1 \in F to the identity matrix: "trace is dual to scalars". In the language of bialgebras, scalars are the unit, while trace is the counit.

One can then compose these, F \overset{I}{\to} \operatorname{End}(V) \overset{\operatorname{tr}}{\to} F, which yields multiplication by n, as the trace of the identity is the dimension of the vector space.

See also

Notes

  1. ^ Can be proven with the Cauchy–Schwarz inequality.
  2. ^ This is immediate from the definition of matrix multiplication.
    \mathrm{tr}(AB) = \sum_{i=1}^m \sum_{j=1}^n A_{ij} B_{ji} = \mathrm{tr}(BA).
  3. ^ Proof:
    f(e_{ij}) = 0 if and only if i \not= j and f(e_{jj}) = f(e_{11}) (with the standard basis e_{ij}),
    and thus
    f(A) = \sum_{i, j} [A]_{ij} f(e_{ij}) = \sum_i [A]_{ii} f(e_{11}) = f(e_{11}) \mathrm{tr}(A).
    More abstractly, this corresponds to the decomposition gl_n = sl_n \oplus k, as tr(AB)=tr(BA) (equivalently, \operatorname{tr}([A,B]) = 0) defines the trace on sln, which has complement the scalar matrices, and leaves one degree of freedom: any such map is determined by its value on scalars, which is one scalar parameter and hence all are multiple of the trace, a non-zero such map.
  4. ^ Proof: \mathfrak{sl}_n is a semisimple Lie algebra and thus every element in it is the commutator of some pair of elements, otherwise the derived algebra would be a proper ideal.
  5. ^ This follows from the fact that \operatorname{tr}(A^*A) = 0 if and only if A = 0